Matrix multiplication is a necessary computation operation in many scientific and engineering applications. For example, navigation and control applications often require multiplication of matrices, sometimes very large matrices. Researchers have looked for solutions to enhance the performance of the matrix multiplication.
Matrix multiplication requires significant computation resources. To multiply two N×N matrices, N*N*N multiplication operations and (N−b 1)*N*N addition operations are needed. All matrix multiplication solutions depend upon either distributed data or distributed operations. However, all matrix multiplication solutions heretofore known are based on the assumption that there are a fixed number of available multipliers and accumulators.
Certain applications of matrix multiplication operations require highly efficient uses of resources in order to produce the result quickly using minimal computation and resources and consuming as little power as possible. Examples of such applications are in space vehicles and other equipment that carry finite power supplies.